package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 课程管理对象 course
 * 
 * @author ruoyi
 * @date 2025-05-27
 */
public class Course extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private String id;

    /** 课程名 */
    @Excel(name = "课程名")
    private String courseName;

    /** 简要 */
    @Excel(name = "简要")
    private String brief;

    /** 价格 */
    @Excel(name = "价格")
    private BigDecimal price;

    /** 打包 */
    private String priceTag;

    /** 打折 */
    private BigDecimal discounts;

    /** 打折包 */
    private String discountsTag;

    /** 描述 */
    private String courseDescriptionMarkDown;

    /** 描述 */
    @Excel(name = "描述")
    private String courseDescription;

    /** 图片 */
    @Excel(name = "图片")
    private String courseImgUrl;

    /** 新的 */
    private Integer isNew;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String isNewDes;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long lastOperatorId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date autoOnlineTime;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Integer isDel;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long totalDuration;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long status;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long sortNum;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String previewFirstField;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String previewSecondField;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long sales;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long typeId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long orientationId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long teacherId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long subOrientationId;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setCourseName(String courseName) 
    {
        this.courseName = courseName;
    }

    public String getCourseName() 
    {
        return courseName;
    }

    public void setBrief(String brief) 
    {
        this.brief = brief;
    }

    public String getBrief() 
    {
        return brief;
    }

    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }

    public void setPriceTag(String priceTag) 
    {
        this.priceTag = priceTag;
    }

    public String getPriceTag() 
    {
        return priceTag;
    }

    public void setDiscounts(BigDecimal discounts) 
    {
        this.discounts = discounts;
    }

    public BigDecimal getDiscounts() 
    {
        return discounts;
    }

    public void setDiscountsTag(String discountsTag) 
    {
        this.discountsTag = discountsTag;
    }

    public String getDiscountsTag() 
    {
        return discountsTag;
    }

    public void setCourseDescriptionMarkDown(String courseDescriptionMarkDown) 
    {
        this.courseDescriptionMarkDown = courseDescriptionMarkDown;
    }

    public String getCourseDescriptionMarkDown() 
    {
        return courseDescriptionMarkDown;
    }

    public void setCourseDescription(String courseDescription) 
    {
        this.courseDescription = courseDescription;
    }

    public String getCourseDescription() 
    {
        return courseDescription;
    }

    public void setCourseImgUrl(String courseImgUrl) 
    {
        this.courseImgUrl = courseImgUrl;
    }

    public String getCourseImgUrl() 
    {
        return courseImgUrl;
    }

    public void setIsNew(Integer isNew) 
    {
        this.isNew = isNew;
    }

    public Integer getIsNew() 
    {
        return isNew;
    }

    public void setIsNewDes(String isNewDes) 
    {
        this.isNewDes = isNewDes;
    }

    public String getIsNewDes() 
    {
        return isNewDes;
    }

    public void setLastOperatorId(Long lastOperatorId) 
    {
        this.lastOperatorId = lastOperatorId;
    }

    public Long getLastOperatorId() 
    {
        return lastOperatorId;
    }

    public void setAutoOnlineTime(Date autoOnlineTime) 
    {
        this.autoOnlineTime = autoOnlineTime;
    }

    public Date getAutoOnlineTime() 
    {
        return autoOnlineTime;
    }

    public void setIsDel(Integer isDel) 
    {
        this.isDel = isDel;
    }

    public Integer getIsDel() 
    {
        return isDel;
    }

    public void setTotalDuration(Long totalDuration) 
    {
        this.totalDuration = totalDuration;
    }

    public Long getTotalDuration() 
    {
        return totalDuration;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public void setSortNum(Long sortNum) 
    {
        this.sortNum = sortNum;
    }

    public Long getSortNum() 
    {
        return sortNum;
    }

    public void setPreviewFirstField(String previewFirstField) 
    {
        this.previewFirstField = previewFirstField;
    }

    public String getPreviewFirstField() 
    {
        return previewFirstField;
    }

    public void setPreviewSecondField(String previewSecondField) 
    {
        this.previewSecondField = previewSecondField;
    }

    public String getPreviewSecondField() 
    {
        return previewSecondField;
    }

    public void setSales(Long sales) 
    {
        this.sales = sales;
    }

    public Long getSales() 
    {
        return sales;
    }

    public void setTypeId(Long typeId) 
    {
        this.typeId = typeId;
    }

    public Long getTypeId() 
    {
        return typeId;
    }

    public void setOrientationId(Long orientationId) 
    {
        this.orientationId = orientationId;
    }

    public Long getOrientationId() 
    {
        return orientationId;
    }

    public void setTeacherId(Long teacherId) 
    {
        this.teacherId = teacherId;
    }

    public Long getTeacherId() 
    {
        return teacherId;
    }

    public void setSubOrientationId(Long subOrientationId) 
    {
        this.subOrientationId = subOrientationId;
    }

    public Long getSubOrientationId() 
    {
        return subOrientationId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("courseName", getCourseName())
            .append("brief", getBrief())
            .append("price", getPrice())
            .append("priceTag", getPriceTag())
            .append("discounts", getDiscounts())
            .append("discountsTag", getDiscountsTag())
            .append("courseDescriptionMarkDown", getCourseDescriptionMarkDown())
            .append("courseDescription", getCourseDescription())
            .append("courseImgUrl", getCourseImgUrl())
            .append("isNew", getIsNew())
            .append("isNewDes", getIsNewDes())
            .append("lastOperatorId", getLastOperatorId())
            .append("autoOnlineTime", getAutoOnlineTime())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("isDel", getIsDel())
            .append("totalDuration", getTotalDuration())
            .append("status", getStatus())
            .append("sortNum", getSortNum())
            .append("previewFirstField", getPreviewFirstField())
            .append("previewSecondField", getPreviewSecondField())
            .append("sales", getSales())
            .append("typeId", getTypeId())
            .append("orientationId", getOrientationId())
            .append("teacherId", getTeacherId())
            .append("subOrientationId", getSubOrientationId())
            .toString();
    }
}
